/*
 * Created on 2006-5-12 6:41:43
 */
package cn.com.sbell.vss.csg.vsclient.hikvision.bean;

import java.text.DecimalFormat;

/**
 * @author liang.a.chen
 */
public class DeviceCfg {
	
	public byte[] dvrName;			/* DVR名称 */
	public int dvrId;				/* DVR ID,用于遥控器 */ 
	public int recycleRecord;		/* 是否循环录像,0:不是; 1:是 */
//	以下不能更改
//	public byte[] serialNumber;		/* 序列号 */
	public int softwareVersion; 	/* 软件版本号,高16位是主版本,低16位是次版本 */ 
	public int softwareBuildDate; 	/* 软件生成日期,0xYYYYMMDD */ 
//	public int dspSoftwareVersion; 	/* DSP软件版本,高16位是主版本,低16位是次版本 */ 
//	public int dSoftwareBuildDate; 	/* DSP软件生成日期,0xYYYYMMDD */ 
//	public int panelVersion; 		/* 前面板版本,高16位是主版本,低16位是次版本 */ 
//	public int hardwareVersion; 	/* 硬件版本,高16位是主版本,低16位是次版本 */ 
//	public byte alarmInPortNum; 	/* DVR报警输入个数 */ 
//	public byte alarmOutPortNum; 	/* DVR报警输出个数 */ 
//	public byte rs232Num; 			/* DVR 232串口个数 */ 
//	public byte rs485Num; 			/* DVR 485串口个数 */ 
//	public byte networkPortNum; 	/* 网络口个数 */ 
//	public byte diskCtrlNum; 		/* DVR 硬盘控制器个数 */ 
//	public byte diskNum; 			/* DVR 硬盘个数 */ 
//	public byte dvrType; 			/* DVR类型, 1:DVR 2:ATM DVR 3:DVS 等等 */ 
//	public byte chanNum; 			/* DVR 通道个数 */ 
//	public byte startChan; 			/* 起始通道号,例如DVS-1,DVR – 1 */ 
//	public byte decordChans; 		/* DVR 解码路数 */ 
//	public byte vgaNum; 			/* VGA口的个数 */ 
//	public byte usbNum; 			/* USB口的个数 */

	public String getFullSoftwareVersion(){
		String version = String.valueOf(0xFFFF & softwareVersion>>16) + "." + String.valueOf(0xFFFF & softwareVersion);
		String hexBuildDate = Integer.toHexString(this.softwareBuildDate);
		while(hexBuildDate.length()<6){
			hexBuildDate = "0" + hexBuildDate;
		}
		DecimalFormat nf = new DecimalFormat("00");
		StringBuffer buildDate = new StringBuffer();
		buildDate.append(nf.format(Integer.parseInt(hexBuildDate.substring(0,2),16)));
		buildDate.append(nf.format(Integer.parseInt(hexBuildDate.substring(2,4),16)));
		buildDate.append(nf.format(Integer.parseInt(hexBuildDate.substring(4),16)));
		
		return version + "-" + buildDate;
	}
	
	public static void main(String[] args){
		DeviceCfg cfg = new DeviceCfg();
		cfg.softwareVersion = 262144;
		cfg.softwareBuildDate = 394245;
		System.out.println(cfg.getFullSoftwareVersion());
	}
}
